home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / menu.vim < prev    next >
Encoding:
Text File  |  2001-09-26  |  49.4 KB  |  1,238 lines

  1. " You can also use this as a start for your own set of menus.
  2. " Note that ":amenu" is often used to make a menu work in all modes.
  3. "
  4. " Maintainer:    Bram Moolenaar <Bram@vim.org>
  5. " Last Change:    2001 Sep 21
  6.  
  7. " Make sure the '<' and 'C' flags are not included in 'cpoptions', otherwise
  8. " <CR> would not be recognized.  See ":help 'cpoptions'".
  9. let s:cpo_save = &cpo
  10. set cpo&vim
  11.  
  12. " Avoid installing the menus twice
  13. if !exists("did_install_default_menus")
  14. let did_install_default_menus = 1
  15.  
  16.  
  17. if exists("v:lang") || &langmenu != ""
  18.   " Try to find a menu translation file for the current language.
  19.   if &langmenu != ""
  20.     if &langmenu =~ "none"
  21.       let s:lang = ""
  22.     else
  23.       let s:lang = &langmenu
  24.     endif
  25.   else
  26.     let s:lang = v:lang
  27.   endif
  28.   " A language name must be at least two characters, don't accept "C"
  29.   if strlen(s:lang) > 1
  30.     " We always use a lowercase name.
  31.     " Change "iso-8859" to "iso_8859", some systems appear to use this.
  32.     " Change spaces to underscores.
  33.     let s:lang = substitute(tolower(s:lang), "\\.iso-", "\\.iso_", "")
  34.     let s:lang = substitute(s:lang, " ", "_", "g")
  35.     menutrans clear
  36.     exe "runtime! lang/menu_" . s:lang . ".vim"
  37.  
  38.     if !exists("did_menu_trans")
  39.       " There is no exact match, try matching with a wildcard added
  40.       " (e.g. find menu_de_de.iso_8859-1.vim if s:lang == de_DE).
  41.       exe "runtime! lang/menu_" . s:lang . "*.vim"
  42.  
  43.       if !exists("did_menu_trans") && strlen($LANG) > 1
  44.     " On windows locale names are complicated, try using $LANG, it might
  45.     " have been set by set_init_1().
  46.     exe "runtime! lang/menu_" . tolower($LANG) . "*.vim"
  47.       endif
  48.     endif
  49.   endif
  50. endif
  51.  
  52.  
  53. " Help menu
  54. amenu 9999.10 &Help.&Overview<Tab><F1>        :help<CR>
  55. amenu 9999.20 &Help.&User\ Manual        :help usr_toc<CR>
  56. amenu 9999.30 &Help.&How-to\ links        :help how-to<CR>
  57. amenu 9999.40 &Help.&GUI            :help gui<CR>
  58. amenu 9999.50 &Help.&Credits            :help credits<CR>
  59. amenu 9999.60 &Help.Co&pying            :help uganda<CR>
  60. amenu <silent> 9999.70 &Help.&Find\.\.\.    :call <SID>Helpfind()<CR>
  61. amenu 9999.75 &Help.-sep-            <nul>
  62. amenu 9999.80 &Help.&Version            :version<CR>
  63. amenu 9999.90 &Help.&About            :intro<CR>
  64.  
  65. fun! s:Helpfind()
  66.   if !exists("g:menutrans_help_dialog")
  67.     let g:menutrans_help_dialog = "Enter a command or word to find help on:\n\nPrepend i_ for Input mode commands (e.g.: i_CTRL-X)\nPrepend c_ for command-line editing commands (e.g.: c_<Del>)\nPrepend ' for an option name (e.g.: 'shiftwidth')"
  68.   endif
  69.   let h = inputdialog(g:menutrans_help_dialog)
  70.   if h != ""
  71.     let v:errmsg = ""
  72.     silent! exe "help " . h
  73.     if v:errmsg != ""
  74.       echo v:errmsg
  75.     endif
  76.   endif
  77. endfun
  78.  
  79. " File menu
  80. amenu 10.310 &File.&Open\.\.\.<Tab>:e        :browse confirm e<CR>
  81. amenu 10.320 &File.Sp&lit-Open\.\.\.<Tab>:sp    :browse sp<CR>
  82. amenu 10.325 &File.&New<Tab>:enew        :confirm enew<CR>
  83. amenu <silent> 10.330 &File.&Close<Tab>:close
  84.     \ :if winheight(2) < 0 <Bar>
  85.     \   confirm enew <Bar>
  86.     \ else <Bar>
  87.     \   confirm close <Bar>
  88.     \ endif<CR>
  89. amenu 10.335 &File.-SEP1-            :
  90. amenu <silent> 10.340 &File.&Save<Tab>:w    :if expand("%") == ""<Bar>browse confirm w<Bar>else<Bar>confirm w<Bar>endif<CR>
  91. amenu 10.350 &File.Save\ &As\.\.\.<Tab>:sav    :browse confirm saveas<CR>
  92.  
  93. if has("diff")
  94.   amenu 10.400 &File.-SEP2-            :
  95.   amenu 10.410 &File.Split\ &Diff\ with\.\.\.    :browse vert diffsplit<CR>
  96.   amenu 10.420 &File.Split\ Patched\ &By\.\.\.    :browse vert diffpatch<CR>
  97. endif
  98.  
  99. if has("printer")
  100.   amenu 10.500 &File.-SEP3-            :
  101.   amenu 10.510 &File.&Print            :hardcopy<CR>
  102.   vunmenu &File.&Print
  103.   vmenu &File.&Print                :hardcopy<CR>
  104. elseif has("unix")
  105.   amenu 10.500 &File.-SEP3-            :
  106.   amenu 10.510 &File.&Print            :w !lpr<CR>
  107.   vunmenu &File.&Print
  108.   vmenu &File.&Print                :w !lpr<CR>
  109. elseif has("vms")
  110.   amenu 10.500 &File.-SEP3-            :
  111.   amenu <silent> 10.510 &File.&Print        :call VMSPrint(":")<CR>
  112.   vunmenu &File.&Print
  113.   vmenu <silent> &File.&Print            <Esc>:call VMSPrint(":'<,'>")<CR>
  114. endif
  115. amenu 10.600 &File.-SEP4-            :
  116. amenu 10.610 &File.Sa&ve-Exit<Tab>:wqa        :confirm wqa<CR>
  117. amenu 10.620 &File.E&xit<Tab>:qa        :confirm qa<CR>
  118.  
  119. if has("vms")
  120.   if !exists("*VMSPrint")
  121.     fun VMSPrint(range)
  122.       let mod_save = &mod
  123.       let ttt = tempname()
  124.       exec a:range . "w! " . ttt
  125.       let &mod = mod_save
  126.       exec "!print/delete " . ttt
  127.     endfun
  128.   endif
  129. endif
  130.  
  131. " Tricky stuff to make pasting work as expected.
  132. nnoremap <SID>Paste "=@+.'xy'<CR>gPFx"_2x:echo<CR>
  133.  
  134. " Edit menu
  135. amenu 20.310 &Edit.&Undo<Tab>u            u
  136. amenu 20.320 &Edit.&Redo<Tab>^R            <C-R>
  137. amenu 20.330 &Edit.Rep&eat<Tab>\.        .
  138. amenu 20.335 &Edit.-SEP1-            :
  139. vmenu 20.340 &Edit.Cu&t<Tab>"+x            "+x
  140. vmenu 20.350 &Edit.&Copy<Tab>"+y        "+y
  141. cmenu 20.350 &Edit.&Copy<Tab>"+y        <C-Y>
  142. nmenu 20.360 &Edit.&Paste<Tab>"+P        <SID>Paste
  143. vmenu         &Edit.&Paste<Tab>"+P        "-cx<Esc><SID>Paste"_x
  144. imenu         &Edit.&Paste<Tab>"+P        x<Esc><SID>Paste"_s
  145. cmenu         &Edit.&Paste<Tab>"+P        <C-R>+
  146. nmenu 20.370 &Edit.Put\ &Before<Tab>[p        [p
  147. imenu         &Edit.Put\ &Before<Tab>[p        <C-O>[p
  148. nmenu 20.380 &Edit.Put\ &After<Tab>]p        ]p
  149. imenu         &Edit.Put\ &After<Tab>]p        <C-O>]p
  150. if has("win32") || has("win16")
  151.   vmenu 20.390 &Edit.&Delete<Tab>x        x
  152. endif
  153. amenu <silent> 20.400 &Edit.&Select\ all<Tab>ggVG    :if &slm != ""<Bar>exe ":norm gggH<C-O>G"<Bar>else<Bar>exe ":norm ggVG"<Bar>endif<CR>
  154. amenu 20.405 &Edit.-SEP2-            :
  155. if has("win32")  || has("win16") || has("gui_gtk") || has("gui_motif")
  156.   amenu 20.410 &Edit.&Find\.\.\.        :promptfind<CR>
  157.   vunmenu      &Edit.&Find\.\.\.
  158.   vmenu           &Edit.&Find\.\.\.        y:promptfind <C-R>"<CR>
  159.   amenu 20.420 &Edit.Find\ and\ Rep&lace\.\.\.    :promptrepl<CR>
  160.   vunmenu      &Edit.Find\ and\ Rep&lace\.\.\.
  161.   vmenu           &Edit.Find\ and\ Rep&lace\.\.\.    y:promptrepl <C-R>"<CR>
  162. else
  163.   amenu 20.410 &Edit.&Find<Tab>/            /
  164.   amenu 20.420 &Edit.Find\ and\ Rep&lace<Tab>:%s    :%s/
  165.   vunmenu      &Edit.Find\ and\ Rep&lace<Tab>:%s
  166.   vmenu           &Edit.Find\ and\ Rep&lace<Tab>:s        :s/
  167. endif
  168. amenu 20.425 &Edit.-SEP3-            :
  169. amenu 20.430 &Edit.Settings\ &Window        :options<CR>
  170.  
  171. " Edit/Global Settings
  172. amenu 20.440.100 &Edit.&Global\ Settings.Toggle\ Pattern\ &Highlight<Tab>:set\ hls!    :set hls! hls?<CR>
  173. amenu 20.440.110 &Edit.&Global\ Settings.Toggle\ &Ignore-case<Tab>:set\ ic!    :set ic! ic?<CR>
  174. amenu 20.440.110 &Edit.&Global\ Settings.Toggle\ &Showmatch<Tab>:set\ sm!    :set sm! sm?<CR>
  175.  
  176. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 1\  :set so=1<CR>
  177. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 2\  :set so=2<CR>
  178. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 3\  :set so=3<CR>
  179. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 4\  :set so=4<CR>
  180. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 5\  :set so=5<CR>
  181. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 7\  :set so=7<CR>
  182. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 10\  :set so=10<CR>
  183. amenu 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 100\  :set so=100<CR>
  184.  
  185. amenu 20.440.130.40 &Edit.&Global\ Settings.&Virtual\ Edit.Never :set ve=<CR>
  186. amenu 20.440.130.50 &Edit.&Global\ Settings.&Virtual\ Edit.Block\ Selection :set ve=block<CR>
  187. amenu 20.440.130.60 &Edit.&Global\ Settings.&Virtual\ Edit.Insert\ mode :set ve=insert<CR>
  188. amenu 20.440.130.70 &Edit.&Global\ Settings.&Virtual\ Edit.Block\ and\ Insert :set ve=block,insert<CR>
  189. amenu 20.440.130.80 &Edit.&Global\ Settings.&Virtual\ Edit.Always :set ve=all<CR>
  190. amenu 20.440.140 &Edit.&Global\ Settings.Toggle\ Insert\ &Mode<Tab>:set\ im!    :set im!<CR>
  191. amenu <silent> 20.440.150 &Edit.&Global\ Settings.Search\ &Path\.\.\.  :call <SID>SearchP()<CR>
  192. amenu <silent> 20.440.160 &Edit.&Global\ Settings.Ta&g\ Files\.\.\.  :call <SID>TagFiles()<CR>
  193. "
  194. " GUI options
  195. amenu 20.440.300 &Edit.&Global\ Settings.-SEP1-        :
  196. amenu <silent> 20.440.310 &Edit.&Global\ Settings.Toggle\ &Toolbar        :call <SID>ToggleGuiOption("T")<CR>
  197. amenu <silent> 20.440.320 &Edit.&Global\ Settings.Toggle\ &Bottom\ Scrollbar    :call <SID>ToggleGuiOption("b")<CR>
  198. amenu <silent> 20.440.330 &Edit.&Global\ Settings.Toggle\ &Left\ Scrollbar    :call <SID>ToggleGuiOption("l")<CR>
  199. amenu <silent> 20.440.340 &Edit.&Global\ Settings.Toggle\ &Right\ Scrollbar    :call <SID>ToggleGuiOption("r")<CR>
  200.  
  201. fun! s:SearchP()
  202.   if !exists("g:menutrans_path_dialog")
  203.     let g:menutrans_path_dialog = "Enter search path for files.\nSeparate directory names with a comma."
  204.   endif
  205.   let n = inputdialog(g:menutrans_path_dialog, substitute(&path, '\\ ', ' ', 'g'))
  206.   if n != ""
  207.     let &path = substitute(n, ' ', '\\ ', 'g')
  208.   endif
  209. endfun
  210.  
  211. fun! s:TagFiles()
  212.   if !exists("g:menutrans_tags_dialog")
  213.     let g:menutrans_tags_dialog = "Enter names of tag files.\nSeparate the names with a comma."
  214.   endif
  215.   let n = inputdialog(g:menutrans_tags_dialog, substitute(&tags, '\\ ', ' ', 'g'))
  216.   if n != ""
  217.     let &tags = substitute(n, ' ', '\\ ', 'g')
  218.   endif
  219. endfun
  220.  
  221. fun! s:ToggleGuiOption(option)
  222.     " If a:option is already set in guioptions, then we want to remove it
  223.     if match(&guioptions, a:option) > -1
  224.     exec "set go-=" . a:option
  225.     else
  226.     exec "set go+=" . a:option
  227.     endif
  228. endfun
  229.  
  230. " Edit/File Settings
  231.  
  232. " Boolean options
  233. amenu 20.440.100 &Edit.F&ile\ Settings.Toggle\ Line\ &Numbering<Tab>:set\ nu!    :set nu! nu?<CR>
  234. amenu 20.440.110 &Edit.F&ile\ Settings.Toggle\ &List\ Mode<Tab>:set\ list!    :set list! list?<CR>
  235. amenu 20.440.120 &Edit.F&ile\ Settings.Toggle\ Line\ &Wrap<Tab>:set\ wrap!    :set wrap! wrap?<CR>
  236. amenu 20.440.130 &Edit.F&ile\ Settings.Toggle\ W&rap\ at\ word<Tab>:set\ lbr!    :set lbr! lbr?<CR>
  237. amenu 20.440.160 &Edit.F&ile\ Settings.Toggle\ &expand-tab<Tab>:set\ et!    :set et! et?<CR>
  238. amenu 20.440.170 &Edit.F&ile\ Settings.Toggle\ &auto-indent<Tab>:set\ ai!    :set ai! ai?<CR>
  239. amenu 20.440.180 &Edit.F&ile\ Settings.Toggle\ &C-indenting<Tab>:set\ cin!    :set cin! cin?<CR>
  240.  
  241. " other options
  242. amenu 20.440.600 &Edit.F&ile\ Settings.-SEP2-        :
  243. amenu 20.440.610.20 &Edit.F&ile\ Settings.&Shiftwidth.2   :set sw=2 sw?<CR>
  244. amenu 20.440.610.30 &Edit.F&ile\ Settings.&Shiftwidth.3   :set sw=3 sw?<CR>
  245. amenu 20.440.610.40 &Edit.F&ile\ Settings.&Shiftwidth.4   :set sw=4 sw?<CR>
  246. amenu 20.440.610.50 &Edit.F&ile\ Settings.&Shiftwidth.5   :set sw=5 sw?<CR>
  247. amenu 20.440.610.60 &Edit.F&ile\ Settings.&Shiftwidth.6   :set sw=6 sw?<CR>
  248. amenu 20.440.610.80 &Edit.F&ile\ Settings.&Shiftwidth.8   :set sw=8 sw?<CR>
  249.  
  250. amenu 20.440.620.20 &Edit.F&ile\ Settings.Soft\ &Tabstop.2   :set sts=2 sts?<CR>
  251. amenu 20.440.620.30 &Edit.F&ile\ Settings.Soft\ &Tabstop.3   :set sts=3 sts?<CR>
  252. amenu 20.440.620.40 &Edit.F&ile\ Settings.Soft\ &Tabstop.4   :set sts=4 sts?<CR>
  253. amenu 20.440.620.50 &Edit.F&ile\ Settings.Soft\ &Tabstop.5   :set sts=5 sts?<CR>
  254. amenu 20.440.620.60 &Edit.F&ile\ Settings.Soft\ &Tabstop.6   :set sts=6 sts?<CR>
  255. amenu 20.440.620.80 &Edit.F&ile\ Settings.Soft\ &Tabstop.8   :set sts=8 sts?<CR>
  256.  
  257. amenu <silent> 20.440.630 &Edit.F&ile\ Settings.Te&xt\ Width\.\.\.  :call <SID>TextWidth()<CR>
  258. amenu <silent> 20.440.640 &Edit.F&ile\ Settings.&File\ Format\.\.\.  :call <SID>FileFormat()<CR>
  259. fun! s:TextWidth()
  260.   if !exists("g:menutrans_textwidth_dialog")
  261.     let g:menutrans_textwidth_dialog = "Enter new text width (0 to disable formatting): "
  262.   endif
  263.   let n = inputdialog(g:menutrans_textwidth_dialog, &tw)
  264.   if n != ""
  265.     " remove leading zeros to avoid it being used as an octal number
  266.     let &tw = substitute(n, "^0*", "", "")
  267.   endif
  268. endfun
  269.  
  270. fun! s:FileFormat()
  271.   if !exists("g:menutrans_fileformat_dialog")
  272.     let g:menutrans_fileformat_dialog = "Select format for writing the file"
  273.   endif
  274.   if &ff == "dos"
  275.     let def = 2
  276.   elseif &ff == "mac"
  277.     let def = 3
  278.   else
  279.     let def = 1
  280.   endif
  281.   let n = confirm(g:menutrans_fileformat_dialog, "&Unix\n&Dos\n&Mac\n&Cancel", def, "Question")
  282.   if n == 1
  283.     set ff=unix
  284.   elseif n == 2
  285.     set ff=dos
  286.   elseif n == 3
  287.     set ff=mac
  288.   endif
  289. endfun
  290.  
  291. " Setup the Edit.Color Scheme submenu
  292. let s:n = globpath(&runtimepath, "colors/*.vim")
  293. let s:idx = 100
  294. while strlen(s:n) > 0
  295.   let s:i = stridx(s:n, "\n")
  296.   if s:i < 0
  297.     let s:name = s:n
  298.     let s:n = ""
  299.   else
  300.     let s:name = strpart(s:n, 0, s:i)
  301.     let s:n = strpart(s:n, s:i + 1, 19999)
  302.   endif
  303.   let s:name = substitute(s:name, '.*[/\\:]\([^/\\:]*\)\.vim', '\1', '')
  304.   exe "amenu 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
  305.   unlet s:name
  306.   unlet s:i
  307.   let s:idx = s:idx + 10
  308. endwhile
  309. unlet s:n
  310. unlet s:idx
  311.  
  312. " Setup the Edit.Keymap submenu
  313. if has("keymap")
  314.   let s:n = globpath(&runtimepath, "keymap/*.vim")
  315.   if s:n != ""
  316.     let s:idx = 100
  317.     amenu 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
  318.     while strlen(s:n) > 0
  319.       let s:i = stridx(s:n, "\n")
  320.       if s:i < 0
  321.     let s:name = s:n
  322.     let s:n = ""
  323.       else
  324.     let s:name = strpart(s:n, 0, s:i)
  325.     let s:n = strpart(s:n, s:i + 1, 19999)
  326.       endif
  327.       let s:name = substitute(s:name, '.*[/\\:]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
  328.       exe "amenu 20.460." . s:idx . ' &Edit.&Keymap.' . s:name . " :set keymap=" . s:name . "<CR>"
  329.       unlet s:name
  330.       unlet s:i
  331.       let s:idx = s:idx + 10
  332.     endwhile
  333.     unlet s:idx
  334.   endif
  335.   unlet s:n
  336. endif
  337. if has("win32") || has("win16") || has("gui_gtk") || has("gui_photon")
  338.   amenu 20.470 &Edit.Select\ Fo&nt\.\.\.    :set guifont=*<CR>
  339. endif
  340.  
  341. " Programming menu
  342. amenu 40.300 &Tools.&Jump\ to\ this\ tag<Tab>g^] g<C-]>
  343. vunmenu &Tools.&Jump\ to\ this\ tag<Tab>g^]
  344. vmenu &Tools.&Jump\ to\ this\ tag<Tab>g^]    g<C-]>
  345. amenu 40.310 &Tools.Jump\ &back<Tab>^T        <C-T>
  346. if has("vms")
  347.   amenu 40.320 &Tools.Build\ &Tags\ File        :!mc vim:ctags .<CR>
  348. else
  349.   amenu 40.320 &Tools.Build\ &Tags\ File        :!ctags -R .<CR>
  350. endif
  351.  
  352. " Tools.Fold Menu
  353. if has("folding")
  354.   amenu 40.330 &Tools.-SEP1-            :
  355.   " open close folds
  356.   amenu 40.340.110 &Tools.&Folding.&Enable/Disable\ folds<Tab>zi    zi
  357.   amenu 40.340.120 &Tools.&Folding.&View\ Cursor\ Line<Tab>zv    zv
  358.   amenu 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx    zMzx
  359.   amenu 40.340.130 &Tools.&Folding.C&lose\ more\ folds<Tab>zm    zm
  360.   amenu 40.340.140 &Tools.&Folding.&Close\ all\ folds<Tab>zM    zM
  361.   amenu 40.340.150 &Tools.&Folding.O&pen\ more\ folds<Tab>zr    zr
  362.   amenu 40.340.160 &Tools.&Folding.&Open\ all\ folds<Tab>zR    zR
  363.   " fold method
  364.   amenu 40.340.200 &Tools.&Folding.-SEP1-            :
  365.   amenu 40.340.210 &Tools.&Folding.Fold\ Met&hod.M&anual    :set fdm=manual<CR>
  366.   amenu 40.340.210 &Tools.&Folding.Fold\ Met&hod.I&ndent    :set fdm=indent<CR>
  367.   amenu 40.340.210 &Tools.&Folding.Fold\ Met&hod.E&xpression    :set fdm=expr<CR>
  368.   amenu 40.340.210 &Tools.&Folding.Fold\ Met&hod.S&yntax    :set fdm=syntax<CR>
  369.   amenu 40.340.210 &Tools.&Folding.Fold\ Met&hod.&Diff        :set fdm=diff<CR>
  370.   amenu 40.340.210 &Tools.&Folding.Fold\ Met&hod.Ma&rker    :set fdm=marker<CR>
  371.   " create and delete folds
  372.   vmenu 40.340.220 &Tools.&Folding.Create\ &Fold<Tab>zf        zf
  373.   amenu 40.340.230 &Tools.&Folding.&Delete\ Fold<Tab>zd        zd
  374.   amenu 40.340.240 &Tools.&Folding.Delete\ &All\ Folds<Tab>zD    zD
  375.   " moving around in folds
  376.   amenu 40.340.300 &Tools.&Folding.-SEP2-            :
  377.   amenu 40.340.310.10 &Tools.&Folding.Fold\ column\ &width.\ 0\     :set fdc=0<CR>
  378.   amenu 40.340.310.20 &Tools.&Folding.Fold\ column\ &width.\ 2\     :set fdc=2<CR>
  379.   amenu 40.340.310.30 &Tools.&Folding.Fold\ column\ &width.\ 3\     :set fdc=3<CR>
  380.   amenu 40.340.310.40 &Tools.&Folding.Fold\ column\ &width.\ 4\     :set fdc=4<CR>
  381.   amenu 40.340.310.50 &Tools.&Folding.Fold\ column\ &width.\ 5\     :set fdc=5<CR>
  382.   amenu 40.340.310.60 &Tools.&Folding.Fold\ column\ &width.\ 6\     :set fdc=6<CR>
  383.   amenu 40.340.310.70 &Tools.&Folding.Fold\ column\ &width.\ 7\     :set fdc=7<CR>
  384.   amenu 40.340.310.80 &Tools.&Folding.Fold\ column\ &width.\ 8\     :set fdc=8<CR>
  385. endif  " has folding
  386.  
  387. if has("diff")
  388.   amenu 40.350.100 &Tools.&Diff.&Update        :diffupdate<CR>
  389.   amenu 40.350.110 &Tools.&Diff.&Get\ Block    :diffget<CR>
  390.   vunmenu &Tools.&Diff.&Get\ Block
  391.   vmenu &Tools.&Diff.&Get\ Block        :diffget<CR>
  392.   amenu 40.350.120 &Tools.&Diff.&Put\ Block    :diffput<CR>
  393.   vunmenu &Tools.&Diff.&Put\ Block
  394.   vmenu &Tools.&Diff.&Put\ Block        :diffput<CR>
  395. endif
  396.  
  397. amenu 40.358 &Tools.-SEP2-                :
  398. amenu 40.360 &Tools.&Make<Tab>:make            :make<CR>
  399. amenu 40.370 &Tools.&List\ Errors<Tab>:cl        :cl<CR>
  400. amenu 40.380 &Tools.L&ist\ Messages<Tab>:cl!        :cl!<CR>
  401. amenu 40.390 &Tools.&Next\ Error<Tab>:cn        :cn<CR>
  402. amenu 40.400 &Tools.&Previous\ Error<Tab>:cp        :cp<CR>
  403. amenu 40.410 &Tools.&Older\ List<Tab>:cold        :colder<CR>
  404. amenu 40.420 &Tools.N&ewer\ List<Tab>:cnew        :cnewer<CR>
  405. amenu 40.430.50 &Tools.Error\ &Window.&Update<Tab>:cwin    :cwin<CR>
  406. amenu 40.430.60 &Tools.Error\ &Window.&Open<Tab>:copen    :copen<CR>
  407. amenu 40.430.70 &Tools.Error\ &Window.&Close<Tab>:cclose :cclose<CR>
  408. amenu 40.520 &Tools.-SEP3-            :
  409. amenu <silent> 40.530 &Tools.&Convert\ to\ HEX<Tab>:%!xxd
  410.     \ :call <SID>XxdConv()<CR>
  411. amenu <silent> 40.540 &Tools.Conve&rt\ back<Tab>:%!xxd\ -r
  412.     \ :call <SID>XxdBack()<CR>
  413.  
  414. " Use a function to do the conversion, so that it also works with 'insertmode'
  415. " set.
  416. func! s:XxdConv()
  417.   let mod = &mod
  418.   if has("vms")
  419.     %!mc vim:xxd
  420.   else
  421.     %!xxd
  422.   endif
  423.   set ft=xxd
  424.   let &mod = mod
  425. endfun
  426.  
  427. func! s:XxdBack()
  428.   let mod = &mod
  429.   if has("vms")
  430.     %!mc vim:xxd -r
  431.   else
  432.     %!xxd -r
  433.   endif
  434.   doautocmd filetypedetect BufReadPost
  435.   let &mod = mod
  436. endfun
  437.  
  438. " Setup the Tools.Compiler submenu
  439. let s:n = globpath(&runtimepath, "compiler/*.vim")
  440. let s:idx = 100
  441. while strlen(s:n) > 0
  442.   let s:i = stridx(s:n, "\n")
  443.   if s:i < 0
  444.     let s:name = s:n
  445.     let s:n = ""
  446.   else
  447.     let s:name = strpart(s:n, 0, s:i)
  448.     let s:n = strpart(s:n, s:i + 1, 19999)
  449.   endif
  450.   let s:name = substitute(s:name, '.*[/\\:]\([^/\\:]*\)\.vim', '\1', '')
  451.   exe "amenu 30.440." . s:idx . ' &Tools.&Set\ Compiler.' . s:name . " :compiler " . s:name . "<CR>"
  452.   unlet s:name
  453.   unlet s:i
  454.   let s:idx = s:idx + 10
  455. endwhile
  456. unlet s:n
  457. unlet s:idx
  458.  
  459. if !exists("no_buffers_menu")
  460.  
  461. " Buffer list menu -- Setup functions & actions
  462.  
  463. " wait with building the menu until after loading 'session' files. Makes
  464. " startup faster.
  465. let s:bmenu_wait = 1
  466.  
  467. if !exists("bmenu_priority")
  468.   let bmenu_priority = 60
  469. endif
  470.  
  471. func! s:BMAdd()
  472.   if s:bmenu_wait == 0
  473.     " when adding too many buffers, redraw in short format
  474.     if s:bmenu_count == &menuitems && s:bmenu_short == 0
  475.       call s:BMShow()
  476.     else
  477.       call <SID>BMFilename(expand("<afile>"), expand("<abuf>"))
  478.       let s:bmenu_count = s:bmenu_count + 1
  479.     endif
  480.   endif
  481. endfunc
  482.  
  483. func! s:BMRemove()
  484.   if s:bmenu_wait == 0
  485.     let name = expand("<afile>")
  486.     if isdirectory(name)
  487.       return
  488.     endif
  489.     let munge = <SID>BMMunge(name, expand("<abuf>"))
  490.  
  491.     if s:bmenu_short == 0
  492.       exe 'silent! aun &Buffers.' . munge
  493.     else
  494.       exe 'silent! aun &Buffers.' . <SID>BMHash2(munge) . munge
  495.     endif
  496.     let s:bmenu_count = s:bmenu_count - 1
  497.   endif
  498. endfunc
  499.  
  500. " Create the buffer menu (delete an existing one first).
  501. func! s:BMShow(...)
  502.   let s:bmenu_wait = 1
  503.   let s:bmenu_short = 1
  504.   let s:bmenu_count = 0
  505.   "
  506.   " get new priority, if exists
  507.   if a:0 == 1
  508.     let g:bmenu_priority = a:1
  509.   endif
  510.  
  511.   " remove old menu, if exists; keep one entry to avoid a torn off menu to
  512.   " disappear.
  513.   silent! unmenu &Buffers
  514.   exe 'menu ' . g:bmenu_priority . ".1 &Buffers.Dummy l"
  515.   silent! unmenu! &Buffers
  516.  
  517.   " create new menu; set 'cpo' to include the <CR>
  518.   let cpo_save = &cpo
  519.   set cpo&vim
  520.   exe 'am <silent> ' . g:bmenu_priority . ".2 &Buffers.&Refresh\\ menu :call <SID>BMShow()<CR>"
  521.   exe 'am ' . g:bmenu_priority . ".4 &Buffers.&Delete :bd<CR>"
  522.   exe 'am ' . g:bmenu_priority . ".6 &Buffers.&Alternate :b #<CR>"
  523.   exe 'am ' . g:bmenu_priority . ".7 &Buffers.&Next :bnext<CR>"
  524.   exe 'am ' . g:bmenu_priority . ".8 &Buffers.&Previous :bprev<CR>"
  525.   exe 'am ' . g:bmenu_priority . ".9 &Buffers.-SEP- :"
  526.   let &cpo = cpo_save
  527.   unmenu &Buffers.Dummy
  528.  
  529.   " figure out how many buffers there are
  530.   let buf = 1
  531.   while buf <= bufnr('$')
  532.     if bufexists(buf) && !isdirectory(bufname(buf)) && buflisted(buf)
  533.                         \ && !getbufvar(buf, "&bufsecret")
  534.       let s:bmenu_count = s:bmenu_count + 1
  535.     endif
  536.     let buf = buf + 1
  537.   endwhile
  538.   if s:bmenu_count <= &menuitems
  539.     let s:bmenu_short = 0
  540.   endif
  541.  
  542.   " iterate through buffer list, adding each buffer to the menu:
  543.   let buf = 1
  544.   while buf <= bufnr('$')
  545.     if bufexists(buf) && !isdirectory(bufname(buf)) && buflisted(buf)
  546.                         \ && !getbufvar(buf, "&bufsecret")
  547.       call <SID>BMFilename(bufname(buf), buf)
  548.     endif
  549.     let buf = buf + 1
  550.   endwhile
  551.   let s:bmenu_wait = 0
  552.   aug buffer_list
  553.   au!
  554.   au BufCreate,BufFilePost * call <SID>BMAdd()
  555.   au BufDelete,BufFilePre * call <SID>BMRemove()
  556.   aug END
  557. endfunc
  558.  
  559. func! s:BMHash(name)
  560.   " Make name all upper case, so that chars are between 32 and 96
  561.   let nm = substitute(a:name, ".*", '\U\0', "")
  562.   if has("ebcdic")
  563.     " HACK: Replace all non alphabetics with 'Z'
  564.     "       Just to make it work for now.
  565.     let nm = substitute(nm, "[^A-Z]", 'Z', "g")
  566.     let sp = char2nr('A') - 1
  567.   else
  568.     let sp = char2nr(' ')
  569.   endif
  570.   " convert first six chars into a number for sorting:
  571.   return (char2nr(nm[0]) - sp) * 0x800000 + (char2nr(nm[1]) - sp) * 0x20000 + (char2nr(nm[2]) - sp) * 0x1000 + (char2nr(nm[3]) - sp) * 0x80 + (char2nr(nm[4]) - sp) * 0x20 + (char2nr(nm[5]) - sp)
  572. endfunc
  573.  
  574. func! s:BMHash2(name)
  575.   let nm = substitute(a:name, ".", '\L\0', "")
  576.   " Not exactly right for EBCDIC...
  577.   if nm[0] < 'a' || nm[0] > 'z'
  578.     return '&others.'
  579.   elseif nm[0] <= 'd'
  580.     return '&abcd.'
  581.   elseif nm[0] <= 'h'
  582.     return '&efgh.'
  583.   elseif nm[0] <= 'l'
  584.     return '&ijkl.'
  585.   elseif nm[0] <= 'p'
  586.     return '&mnop.'
  587.   elseif nm[0] <= 't'
  588.     return '&qrst.'
  589.   else
  590.     return '&u-z.'
  591.   endif
  592. endfunc
  593.  
  594. " insert a buffer name into the buffer menu:
  595. func! s:BMFilename(name, num)
  596.   if isdirectory(a:name)
  597.     return
  598.   endif
  599.   let munge = <SID>BMMunge(a:name, a:num)
  600.   let hash = <SID>BMHash(munge)
  601.   if s:bmenu_short == 0
  602.     let name = 'am ' . g:bmenu_priority . '.' . hash . ' &Buffers.' . munge
  603.   else
  604.     let name = 'am ' . g:bmenu_priority . '.' . hash . '.' . hash . ' &Buffers.' . <SID>BMHash2(munge) . munge
  605.   endif
  606.   " set 'cpo' to include the <CR>
  607.   let cpo_save = &cpo
  608.   set cpo&vim
  609.   exe name . ' :b' . a:num . '<CR>'
  610.   let &cpo = cpo_save
  611. endfunc
  612.  
  613. " Truncate a long path to fit it in a menu item.
  614. if !exists("g:bmenu_max_pathlen")
  615.   let g:bmenu_max_pathlen = 35
  616. endif
  617. func! s:BMTruncName(fname)
  618.   let name = a:fname
  619.   if g:bmenu_max_pathlen < 5
  620.     let name = ""
  621.   else
  622.     let len = strlen(name)
  623.     if len > g:bmenu_max_pathlen
  624.       let amount = (g:bmenu_max_pathlen / 2) - 2
  625.       let left = strpart(name, 0, amount)
  626.       let amount = g:bmenu_max_pathlen - amount - 3
  627.       let right = strpart(name, len - amount, amount)
  628.       let name = left . '...' . right
  629.     endif
  630.   endif
  631.   return name
  632. endfunc
  633.  
  634. func! s:BMMunge(fname, bnum)
  635.   let name = a:fname
  636.   if name == ''
  637.     if !exists("g:menutrans_no_file")
  638.       let g:menutrans_no_file = "[No file]"
  639.     endif
  640.     let name = g:menutrans_no_file
  641.   else
  642.     let name = fnamemodify(name, ':p:~')
  643.   endif
  644.   " detach file name and separate it out:
  645.   let name2 = fnamemodify(name, ':t')
  646.   if a:bnum >= 0
  647.     let name2 = name2 . ' (' . a:bnum . ')'
  648.   endif
  649.   let name = name2 . "\t" . <SID>BMTruncName(fnamemodify(name,':h'))
  650.   let name = escape(name, "\\. \t|")
  651.   let name = substitute(name, "\n", "^@", "g")
  652.   return name
  653. endfunc
  654.  
  655. " When just starting Vim, load the buffer menu later
  656. if has("vim_starting")
  657.   augroup LoadBufferMenu
  658.     au! VimEnter * if !exists("no_buffers_menu") | call <SID>BMShow() | endif
  659.     au  VimEnter * au! LoadBufferMenu
  660.   augroup END
  661. else
  662.   call <SID>BMShow()
  663. endif
  664.  
  665. endif " !exists("no_buffers_menu")
  666.  
  667. " Window menu
  668. amenu 70.300 &Window.&New<Tab>^Wn        <C-W>n
  669. amenu 70.310 &Window.S&plit<Tab>^Ws        <C-W>s
  670. amenu 70.320 &Window.Sp&lit\ To\ #<Tab>^W^^    <C-W><C-^>
  671. amenu 70.330 &Window.Split\ &Vertically<Tab>^Wv    <C-W>v
  672. if has("vertsplit")
  673.   amenu <silent> 70.332 &Window.Split\ File\ E&xplorer    :call MenuExplOpen()<CR>
  674.   if !exists("*MenuExplOpen")
  675.     fun MenuExplOpen()
  676.       if @% == ""
  677.     20vsp .
  678.       else
  679.     exe "20vsp " . expand("%:p:h")
  680.       endif
  681.     endfun
  682.   endif
  683. endif
  684. amenu 70.335 &Window.-SEP1-                :
  685. amenu 70.340 &Window.&Close<Tab>^Wc            :confirm close<CR>
  686. amenu 70.345 &Window.Close\ &Other(s)<Tab>^Wo        :confirm only<CR>
  687. amenu 70.350 &Window.-SEP2-                :
  688. amenu 70.355 &Window.Move\ &To.&Top<Tab>^WK        <C-W>K
  689. amenu 70.355 &Window.Move\ &To.&Bottom<Tab>^WJ        <C-W>J
  690. amenu 70.355 &Window.Move\ &To.&Left\ side<Tab>^WH    <C-W>H
  691. amenu 70.355 &Window.Move\ &To.&Right\ side<Tab>^WL    <C-W>L
  692. amenu 70.360 &Window.Rotate\ &Up<Tab>^WR        <C-W>R
  693. amenu 70.362 &Window.Rotate\ &Down<Tab>^Wr        <C-W>r
  694. amenu 70.365 &Window.-SEP3-                :
  695. amenu 70.370 &Window.&Equal\ Size<Tab>^W=        <C-W>=
  696. amenu 70.380 &Window.&Max\ Height<Tab>^W_        <C-W>_
  697. amenu 70.390 &Window.M&in\ Height<Tab>^W1_        <C-W>1_
  698. amenu 70.400 &Window.Max\ &Width<Tab>^W\|        <C-W>\|
  699. amenu 70.410 &Window.Min\ Widt&h<Tab>^W1\|        <C-W>1\|
  700.  
  701. " The popup menu
  702. amenu 1.10 PopUp.&Undo            u
  703. amenu 1.15 PopUp.-SEP1-            :
  704. vmenu 1.20 PopUp.Cu&t            "+x
  705. vmenu 1.30 PopUp.&Copy            "+y
  706. cmenu 1.30 PopUp.&Copy            <C-Y>
  707. nmenu 1.40 PopUp.&Paste            <SID>Paste
  708. vmenu 1.40 PopUp.&Paste            "-cx<Esc><SID>Paste"_x
  709. imenu 1.40 PopUp.&Paste            x<Esc><SID>Paste"_s
  710. cmenu 1.40 PopUp.&Paste            <C-R>+
  711. vmenu 1.50 PopUp.&Delete        x
  712. amenu 1.55 PopUp.-SEP2-            :
  713. vnoremenu 1.60 PopUp.Select\ Blockwise    <C-Q>
  714. anoremenu 1.70 PopUp.Select\ &Word    vaw
  715. anoremenu 1.80 PopUp.Select\ &Line    V
  716. anoremenu 1.90 PopUp.Select\ &Block    <C-Q>
  717. anoremenu 1.100 PopUp.Select\ &All    ggVG
  718.  
  719. " The GUI toolbar (for MS-Windows and GTK)
  720. if has("toolbar")
  721.   amenu 1.10 ToolBar.Open        :browse confirm e<CR>
  722.   amenu <silent> 1.20 ToolBar.Save    :if expand("%") == ""<Bar>browse confirm w<Bar>else<Bar>confirm w<Bar>endif<CR>
  723.   amenu 1.30 ToolBar.SaveAll        :wa<CR>
  724.  
  725.   if has("printer")
  726.     amenu 1.40 ToolBar.Print    :hardcopy<CR>
  727.     vunmenu ToolBar.Print
  728.     vmenu ToolBar.Print        :hardcopy<CR>
  729.   elseif has("unix")
  730.     amenu 1.40 ToolBar.Print    :w !lpr<CR>
  731.     vunmenu ToolBar.Print
  732.     vmenu ToolBar.Print        :w !lpr<CR>
  733.   elseif has("vms")
  734.     amenu <silent> 1.40 ToolBar.Print    :call VMSPrint(":")<CR>
  735.     vunmenu ToolBar.Print
  736.     vmenu <silent> ToolBar.Print    <Esc>:call VMSPrint(":'<,'>")<CR>
  737.   endif
  738.  
  739.   amenu 1.45 ToolBar.-sep1-    <nul>
  740.   amenu 1.50 ToolBar.Undo    u
  741.   amenu 1.60 ToolBar.Redo    <C-R>
  742.  
  743.   amenu 1.65 ToolBar.-sep2-    <nul>
  744.   vmenu 1.70 ToolBar.Cut    "+x
  745.   vmenu 1.80 ToolBar.Copy    "+y
  746.   cmenu 1.80 ToolBar.Copy    <C-Y>
  747.   nmenu 1.90 ToolBar.Paste    <SID>Paste
  748.   vmenu      ToolBar.Paste    "-cx<Esc><SID>Paste"_x
  749.   imenu      ToolBar.Paste    x<Esc><SID>Paste"_s
  750.   cmenu      ToolBar.Paste    <C-R>+
  751.  
  752.   if !has("gui_athena")
  753.     amenu 1.95 ToolBar.-sep3-        <nul>
  754.     amenu 1.100 ToolBar.Find        :promptfind<CR>
  755.     vunmenu ToolBar.Find
  756.     vmenu ToolBar.Find            y:promptfind <C-R>"<CR>
  757.     amenu 1.110 ToolBar.FindNext    n
  758.     amenu 1.120 ToolBar.FindPrev    N
  759.     amenu 1.130 ToolBar.Replace        :promptrepl<CR>
  760.     vunmenu ToolBar.Replace
  761.     vmenu ToolBar.Replace        y:promptrepl <C-R>"<CR>
  762.   endif
  763.  
  764. if 0    " disabled; These are in the Windows menu
  765.   amenu 1.135 ToolBar.-sep4-        <nul>
  766.   amenu 1.140 ToolBar.New        <C-W>n
  767.   amenu 1.150 ToolBar.WinSplit        <C-W>s
  768.   amenu 1.160 ToolBar.WinMax        :resize 200<CR>
  769.   amenu 1.170 ToolBar.WinMin        :resize 1<CR>
  770.   amenu 1.180 ToolBar.WinVSplit        <C-W>v
  771.   amenu 1.190 ToolBar.WinMaxWidth    <C-W>500>
  772.   amenu 1.200 ToolBar.WinMinWidth    <C-W>1\|
  773.   amenu 1.210 ToolBar.WinClose        :close<CR>
  774. endif
  775.  
  776.   amenu 1.215 ToolBar.-sep5-        <nul>
  777.   amenu <silent> 1.220 ToolBar.LoadSesn    :call <SID>LoadVimSesn()<CR>
  778.   amenu <silent> 1.230 ToolBar.SaveSesn    :call <SID>SaveVimSesn()<CR>
  779.   amenu 1.240 ToolBar.RunScript        :browse so<CR>
  780.  
  781.   amenu 1.245 ToolBar.-sep6-        <nul>
  782.   amenu 1.250 ToolBar.Make        :make<CR>
  783.   amenu 1.260 ToolBar.Shell        :sh<CR>
  784.   amenu 1.270 ToolBar.RunCtags        :!ctags -R .<CR>
  785.   amenu 1.280 ToolBar.TagJump        g]
  786.  
  787.   amenu 1.295 ToolBar.-sep7-        <nul>
  788.   amenu 1.300 ToolBar.Help        :help<CR>
  789.   amenu <silent> 1.310 ToolBar.FindHelp  :call <SID>Helpfind()<CR>
  790.  
  791. " Only set the tooltips here if not done in a language menu file
  792. if exists("*Do_toolbar_tmenu")
  793.   call Do_toolbar_tmenu()
  794. else
  795.   let did_toolbar_tmenu = 1
  796.   tmenu ToolBar.Open        Open file
  797.   tmenu ToolBar.Save        Save current file
  798.   tmenu ToolBar.SaveAll        Save all files
  799.   tmenu ToolBar.Print        Print
  800.   tmenu ToolBar.Undo        Undo
  801.   tmenu ToolBar.Redo        Redo
  802.   tmenu ToolBar.Cut        Cut to clipboard
  803.   tmenu ToolBar.Copy        Copy to clipboard
  804.   tmenu ToolBar.Paste        Paste from Clipboard
  805.   if !has("gui_athena")
  806.     tmenu ToolBar.Find        Find...
  807.     tmenu ToolBar.FindNext    Find Next
  808.     tmenu ToolBar.FindPrev    Find Previous
  809.     tmenu ToolBar.Replace        Find / Replace...
  810.   endif
  811.  if 0    " disabled; These are in the Windows menu
  812.   tmenu ToolBar.New        New Window
  813.   tmenu ToolBar.WinSplit    Split Window
  814.   tmenu ToolBar.WinMax        Maximise Window
  815.   tmenu ToolBar.WinMin        Minimise Window
  816.   tmenu ToolBar.WinVSplit    Split Window Vertically
  817.   tmenu ToolBar.WinMaxWidth    Maximise Window Width
  818.   tmenu ToolBar.WinMinWidth    Minimise Window Width
  819.   tmenu ToolBar.WinClose    Close Window
  820.  endif
  821.   tmenu ToolBar.LoadSesn    Load session
  822.   tmenu ToolBar.SaveSesn    Save current session
  823.   tmenu ToolBar.RunScript    Run a Vim Script
  824.   tmenu ToolBar.Make        Make current project
  825.   tmenu ToolBar.Shell        Open a command shell
  826.   tmenu ToolBar.RunCtags    Build tags in current directory tree
  827.   tmenu ToolBar.TagJump        Jump to tag under cursor
  828.   tmenu ToolBar.Help        Vim Help
  829.   tmenu ToolBar.FindHelp    Search Vim Help
  830. endif
  831.  
  832. " Select a session to load; default to current session name if present
  833. fun! s:LoadVimSesn()
  834.   if exists("this_session")
  835.     let name = this_session
  836.   else
  837.     let name = "session.vim"
  838.   endif
  839.   execute "browse so " . name
  840. endfun
  841.  
  842. " Select a session to save; default to current session name if present
  843. fun! s:SaveVimSesn()
  844.   if !exists("this_session")
  845.     let this_session = "session.vim"
  846.   endif
  847.   execute "browse mksession! " . this_session
  848. endfun
  849.  
  850. endif
  851.  
  852. endif " !exists("did_install_default_menus")
  853.  
  854. " Define these items always, so that syntax can be switched on when it wasn't.
  855. am 50.212 &Syntax.&Manual        :syn manual<CR>
  856. am 50.214 &Syntax.A&utomatic        :syn on<CR>
  857. am <silent> 50.216 &Syntax.on/off\ for\ &This\ file :call <SID>SynOnOff()<CR>
  858. if !exists("*s:SynOnOff")
  859.   fun s:SynOnOff()
  860.     if has("syntax_items")
  861.       syn clear
  862.     else
  863.       if !exists("g:syntax_on")
  864.     syn manual
  865.       endif
  866.       set syn=ON
  867.     endif
  868.   endfun
  869. endif
  870.  
  871.  
  872. " Install the Syntax menu only when filetype.vim has been loaded or when
  873. " manual syntax highlighting is enabled.
  874. " Avoid installing the Syntax menu twice.
  875. if (exists("did_load_filetypes") || exists("syntax_on"))
  876.     \ && !exists("did_install_syntax_menu")
  877.   let did_install_syntax_menu = 1
  878.  
  879. " Define the SetSyn function, used for the Syntax menu entries.
  880. " Set 'filetype' and also 'syntax' if it is manually selected.
  881. fun! SetSyn(name)
  882.   if a:name == "fvwm1"
  883.     let use_fvwm_1 = 1
  884.     let use_fvwm_2 = 0
  885.     let name = "fvwm"
  886.   elseif a:name == "fvwm2"
  887.     let use_fvwm_2 = 1
  888.     let use_fvwm_1 = 0
  889.     let name = "fvwm"
  890.   else
  891.     let name = a:name
  892.   endif
  893.   if !exists("s:syntax_menu_synonly")
  894.     exe "set ft=" . name
  895.     if exists("g:syntax_manual")
  896.       exe "set syn=" . name
  897.     endif
  898.   else
  899.     exe "set syn=" . name
  900.   endif
  901. endfun
  902.  
  903. " The following menu items are generated by makemenu.vim.
  904. " The Start Of The Syntax Menu
  905.  
  906. am 50.10.100 &Syntax.AB.Abaqus :cal SetSyn("abaqus")<CR>
  907. am 50.10.110 &Syntax.AB.ABC :cal SetSyn("abc")<CR>
  908. am 50.10.120 &Syntax.AB.ABEL :cal SetSyn("abel")<CR>
  909. am 50.10.130 &Syntax.AB.Ada :cal SetSyn("ada")<CR>
  910. am 50.10.140 &Syntax.AB.Aflex :cal SetSyn("aflex")<CR>
  911. am 50.10.150 &Syntax.AB.AHDL :cal SetSyn("ahdl")<CR>
  912. am 50.10.160 &Syntax.AB.Amiga\ DOS :cal SetSyn("amiga")<CR>
  913. am 50.10.170 &Syntax.AB.Antlr :cal SetSyn("antlr")<CR>
  914. am 50.10.180 &Syntax.AB.Apache\ config :cal SetSyn("apache")<CR>
  915. am 50.10.190 &Syntax.AB.Apache-style\ config :cal SetSyn("apachestyle")<CR>
  916. am 50.10.200 &Syntax.AB.Applix\ ELF :cal SetSyn("elf")<CR>
  917. am 50.10.210 &Syntax.AB.Arc\ Macro\ Language :cal SetSyn("aml")<CR>
  918. am 50.10.220 &Syntax.AB.ASP\ with\ VBSages :cal SetSyn("aspvbs")<CR>
  919. am 50.10.230 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR>
  920. am 50.10.240 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR>
  921. am 50.10.250 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR>
  922. am 50.10.260 &Syntax.AB.Assembly.H8300 :cal SetSyn("asmh8300")<CR>
  923. am 50.10.270 &Syntax.AB.Assembly.Intel\ Itanium :cal SetSyn("ia64")<CR>
  924. am 50.10.280 &Syntax.AB.Assembly.Microsoft :cal SetSyn("masm")<CR>
  925. am 50.10.290 &Syntax.AB.Assembly.Netwide :cal SetSyn("nasm")<CR>
  926. am 50.10.300 &Syntax.AB.Assembly.PIC :cal SetSyn("pic")<CR>
  927. am 50.10.310 &Syntax.AB.Assembly.Turbo :cal SetSyn("tasm")<CR>
  928. am 50.10.320 &Syntax.AB.Assembly.Z-80 :cal SetSyn("z8a")<CR>
  929. am 50.10.330 &Syntax.AB.ASN\.1 :cal SetSyn("asn")<CR>
  930. am 50.10.340 &Syntax.AB.Atlas :cal SetSyn("atlas")<CR>
  931. am 50.10.350 &Syntax.AB.Automake :cal SetSyn("automake")<CR>
  932. am 50.10.360 &Syntax.AB.Avenue :cal SetSyn("ave")<CR>
  933. am 50.10.370 &Syntax.AB.Awk :cal SetSyn("awk")<CR>
  934. am 50.10.380 &Syntax.AB.Ayacc :cal SetSyn("ayacc")<CR>
  935. am 50.10.400 &Syntax.AB.B :cal SetSyn("b")<CR>
  936. am 50.10.410 &Syntax.AB.BASIC :cal SetSyn("basic")<CR>
  937. am 50.10.420 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR>
  938. am 50.10.430 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR>
  939. am 50.10.440 &Syntax.AB.BibFile :cal SetSyn("bib")<CR>
  940. am 50.10.450 &Syntax.AB.BIND\ configuration :cal SetSyn("named")<CR>
  941. am 50.10.460 &Syntax.AB.BIND\ zone :cal SetSyn("bindzone")<CR>
  942. am 50.10.470 &Syntax.AB.Blank :cal SetSyn("blank")<CR>
  943. am 50.20.100 &Syntax.CD.C :cal SetSyn("c")<CR>
  944. am 50.20.110 &Syntax.CD.C++ :cal SetSyn("cpp")<CR>
  945. am 50.20.120 &Syntax.CD.Crontab :cal SetSyn("crontab")<CR>
  946. am 50.20.130 &Syntax.CD.Cyn++ :cal SetSyn("cynpp")<CR>
  947. am 50.20.140 &Syntax.CD.Cynlib :cal SetSyn("cynlib")<CR>
  948. am 50.20.150 &Syntax.CD.Cascading\ Style\ Sheets :cal SetSyn("css")<CR>
  949. am 50.20.160 &Syntax.CD.Century\ Term :cal SetSyn("cterm")<CR>
  950. am 50.20.170 &Syntax.CD.CFG :cal SetSyn("cfg")<CR>
  951. am 50.20.180 &Syntax.CD.CHILL :cal SetSyn("ch")<CR>
  952. am 50.20.190 &Syntax.CD.Change :cal SetSyn("change")<CR>
  953. am 50.20.200 &Syntax.CD.ChangeLog :cal SetSyn("changelog")<CR>
  954. am 50.20.210 &Syntax.CD.Clean :cal SetSyn("clean")<CR>
  955. am 50.20.220 &Syntax.CD.Clever :cal SetSyn("cl")<CR>
  956. am 50.20.230 &Syntax.CD.Clipper :cal SetSyn("clipper")<CR>
  957. am 50.20.240 &Syntax.CD.Cold\ Fusion :cal SetSyn("cf")<CR>
  958. am 50.20.250 &Syntax.CD.Configure\ script :cal SetSyn("config")<CR>
  959. am 50.20.260 &Syntax.CD.Csh\ shell\ script :cal SetSyn("csh")<CR>
  960. am 50.20.270 &Syntax.CD.Ctrl-H :cal SetSyn("ctrlh")<CR>
  961. am 50.20.280 &Syntax.CD.Cobol :cal SetSyn("cobol")<CR>
  962. am 50.20.290 &Syntax.CD.CSP :cal SetSyn("csp")<CR>
  963. am 50.20.300 &Syntax.CD.CUPL.CUPL :cal SetSyn("cupl")<CR>
  964. am 50.20.310 &Syntax.CD.CUPL.simulation :cal SetSyn("cuplsim")<CR>
  965. am 50.20.320 &Syntax.CD.CVS\ commit :cal SetSyn("cvs")<CR>
  966. am 50.20.330 &Syntax.CD.CWEB :cal SetSyn("cweb")<CR>
  967. am 50.20.350 &Syntax.CD.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog")<CR>
  968. am 50.20.360 &Syntax.CD.Debian.Debian\ Control :cal SetSyn("debcontrol")<CR>
  969. am 50.20.370 &Syntax.CD.Diff :cal SetSyn("diff")<CR>
  970. am 50.20.380 &Syntax.CD.Digital\ Command\ Lang :cal SetSyn("dcl")<CR>
  971. am 50.20.390 &Syntax.CD.Diva\ (with\ SKILL) :cal SetSyn("diva")<CR>
  972. am 50.20.400 &Syntax.CD.DNS :cal SetSyn("dns")<CR>
  973. am 50.20.410 &Syntax.CD.DOT :cal SetSyn("dto")<CR>
  974. am 50.20.420 &Syntax.CD.Dracula :cal SetSyn("dracula")<CR>
  975. am 50.20.430 &Syntax.CD.DSSSL :cal SetSyn("dsl")<CR>
  976. am 50.20.440 &Syntax.CD.DTD :cal SetSyn("dtd")<CR>
  977. am 50.20.450 &Syntax.CD.DTML\ (Zope) :cal SetSyn("dtml")<CR>
  978. am 50.20.460 &Syntax.CD.Dylan.Dylan :cal SetSyn("dylan")<CR>
  979. am 50.20.470 &Syntax.CD.Dylan.Dylan\ intr :cal SetSyn("dylanintr")<CR>
  980. am 50.20.480 &Syntax.CD.Dylan.Dylan\ lid :cal SetSyn("dylanlid")<CR>
  981. am 50.30.100 &Syntax.EFG.Eiffel :cal SetSyn("eiffel")<CR>
  982. am 50.30.110 &Syntax.EFG.Elm\ Filter :cal SetSyn("elmfilt")<CR>
  983. am 50.30.120 &Syntax.EFG.Embedix\ Component\ Description :cal SetSyn("ecd")<CR>
  984. am 50.30.130 &Syntax.EFG.ERicsson\ LANGuage :cal SetSyn("erlang")<CR>
  985. am 50.30.140 &Syntax.EFG.ESQL-C :cal SetSyn("esqlc")<CR>
  986. am 50.30.150 &Syntax.EFG.Eterm\ config :cal SetSyn("eterm")<CR>
  987. am 50.30.160 &Syntax.EFG.Expect :cal SetSyn("expect")<CR>
  988. am 50.30.170 &Syntax.EFG.Exports :cal SetSyn("exports")<CR>
  989. am 50.30.190 &Syntax.EFG.Focus\ Executable :cal SetSyn("focexec")<CR>
  990. am 50.30.200 &Syntax.EFG.Focus\ Master :cal SetSyn("master")<CR>
  991. am 50.30.210 &Syntax.EFG.FORM :cal SetSyn("form")<CR>
  992. am 50.30.220 &Syntax.EFG.Forth :cal SetSyn("forth")<CR>
  993. am 50.30.230 &Syntax.EFG.Fortran :cal SetSyn("fortran")<CR>
  994. am 50.30.240 &Syntax.EFG.FoxPro :cal SetSyn("foxpro")<CR>
  995. am 50.30.250 &Syntax.EFG.Fvwm\ configuration :cal SetSyn("fvwm1")<CR>
  996. am 50.30.260 &Syntax.EFG.Fvwm2\ configuration :cal SetSyn("fvwm2")<CR>
  997. am 50.30.280 &Syntax.EFG.GDB\ command\ file :cal SetSyn("gdb")<CR>
  998. am 50.30.290 &Syntax.EFG.GDMO :cal SetSyn("gdmo")<CR>
  999. am 50.30.300 &Syntax.EFG.Gedcom :cal SetSyn("gedcom")<CR>
  1000. am 50.30.310 &Syntax.EFG.GP :cal SetSyn("gp")<CR>
  1001. am 50.30.320 &Syntax.EFG.GNU\ Server\ Pages :cal SetSyn("gsp")<CR>
  1002. am 50.30.330 &Syntax.EFG.GNUplot :cal SetSyn("gnuplot")<CR>
  1003. am 50.30.340 &Syntax.EFG.GTKrc :cal SetSyn("gtkrc")<CR>
  1004. am 50.40.100 &Syntax.HIJK.Haskell :cal SetSyn("haskell")<CR>
  1005. am 50.40.110 &Syntax.HIJK.Haskell-literate :cal SetSyn("lhaskell")<CR>
  1006. am 50.40.120 &Syntax.HIJK.Hercules :cal SetSyn("hercules")<CR>
  1007. am 50.40.130 &Syntax.HIJK.HTML :cal SetSyn("html")<CR>
  1008. am 50.40.140 &Syntax.HIJK.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR>
  1009. am 50.40.150 &Syntax.HIJK.HTML/OS :cal SetSyn("htmlos")<CR>
  1010. am 50.40.160 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
  1011. am 50.40.180 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
  1012. am 50.40.190 &Syntax.HIJK.IDL :cal SetSyn("idl")<CR>
  1013. am 50.40.200 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
  1014. am 50.40.210 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
  1015. am 50.40.220 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
  1016. am 50.40.230 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
  1017. am 50.40.240 &Syntax.HIJK.Inno\ Setup :cal SetSyn("iss")<CR>
  1018. am 50.40.250 &Syntax.HIJK.InstallShield\ Rules :cal SetSyn("ishd")<CR>
  1019. am 50.40.260 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
  1020. am 50.40.280 &Syntax.HIJK.Jam :cal SetSyn("jam")<CR>
  1021. am 50.40.290 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
  1022. am 50.40.300 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
  1023. am 50.40.310 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
  1024. am 50.40.320 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
  1025. am 50.40.330 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
  1026. am 50.40.340 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
  1027. am 50.40.350 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
  1028. am 50.40.360 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
  1029. am 50.40.380 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
  1030. am 50.40.390 &Syntax.HIJK.Kimwitu :cal SetSyn("kwt")<CR>
  1031. am 50.40.400 &Syntax.HIJK.Kixtart :cal SetSyn("kix")<CR>
  1032. am 50.50.100 &Syntax.L-Ma.Lace :cal SetSyn("lace")<CR>
  1033. am 50.50.110 &Syntax.L-Ma.Lamda\ Prolog :cal SetSyn("lprolog")<CR>
  1034. am 50.50.120 &Syntax.L-Ma.Latte :cal SetSyn("latte")<CR>
  1035. am 50.50.130 &Syntax.L-Ma.Lex :cal SetSyn("lex")<CR>
  1036. am 50.50.140 &Syntax.L-Ma.LFTP :cal SetSyn("lftp")<CR>
  1037. am 50.50.150 &Syntax.L-Ma.Lilo :cal SetSyn("lilo")<CR>
  1038. am 50.50.160 &Syntax.L-Ma.Lisp :cal SetSyn("lisp")<CR>
  1039. am 50.50.170 &Syntax.L-Ma.Lite :cal SetSyn("lite")<CR>
  1040. am 50.50.180 &Syntax.L-Ma.LOTOS :cal SetSyn("lotos")<CR>
  1041. am 50.50.190 &Syntax.L-Ma.Lout :cal SetSyn("lout")<CR>
  1042. am 50.50.200 &Syntax.L-Ma.Lua :cal SetSyn("lua")<CR>
  1043. am 50.50.210 &Syntax.L-Ma.Lynx\ Style :cal SetSyn("lss")<CR>
  1044. am 50.50.220 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx")<CR>
  1045. am 50.50.240 &Syntax.L-Ma.M4 :cal SetSyn("m4")<CR>
  1046. am 50.50.250 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp")<CR>
  1047. am 50.50.260 &Syntax.L-Ma.Mail :cal SetSyn("mail")<CR>
  1048. am 50.50.270 &Syntax.L-Ma.Makefile :cal SetSyn("make")<CR>
  1049. am 50.50.280 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist")<CR>
  1050. am 50.50.290 &Syntax.L-Ma.Man\ page :cal SetSyn("man")<CR>
  1051. am 50.50.300 &Syntax.L-Ma.Maple :cal SetSyn("maple")<CR>
  1052. am 50.50.310 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR>
  1053. am 50.50.320 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR>
  1054. am 50.50.330 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR>
  1055. am 50.60.100 &Syntax.Me-NO.MEL\ (for\ Maya) :cal SetSyn("mel")<CR>
  1056. am 50.60.110 &Syntax.Me-NO.Metafont :cal SetSyn("mf")<CR>
  1057. am 50.60.120 &Syntax.Me-NO.MetaPost :cal SetSyn("mp")<CR>
  1058. am 50.60.130 &Syntax.Me-NO.MS\ Module\ Definition :cal SetSyn("def")<CR>
  1059. am 50.60.140 &Syntax.Me-NO.Model :cal SetSyn("model")<CR>
  1060. am 50.60.150 &Syntax.Me-NO.Modsim\ III :cal SetSyn("modsim3")<CR>
  1061. am 50.60.160 &Syntax.Me-NO.Modula\ 2 :cal SetSyn("modula2")<CR>
  1062. am 50.60.170 &Syntax.Me-NO.Modula\ 3 :cal SetSyn("modula3")<CR>
  1063. am 50.60.180 &Syntax.Me-NO.Msql :cal SetSyn("msql")<CR>
  1064. am 50.60.190 &Syntax.Me-NO.MS-DOS.MS-DOS\ \.bat\ file :cal SetSyn("dosbatch")<CR>
  1065. am 50.60.200 &Syntax.Me-NO.MS-DOS.4DOS\ \.bat\ file :cal SetSyn("btm")<CR>
  1066. am 50.60.210 &Syntax.Me-NO.MS-DOS.MS-DOS\ \.ini\ file :cal SetSyn("dosini")<CR>
  1067. am 50.60.220 &Syntax.Me-NO.MS\ Resource\ file :cal SetSyn("rc")<CR>
  1068. am 50.60.230 &Syntax.Me-NO.Mush :cal SetSyn("mush")<CR>
  1069. am 50.60.240 &Syntax.Me-NO.Muttrc :cal SetSyn("muttrc")<CR>
  1070. am 50.60.260 &Syntax.Me-NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
  1071. am 50.60.270 &Syntax.Me-NO.Natural :cal SetSyn("natural")<CR>
  1072. am 50.60.280 &Syntax.Me-NO.Novell\ batch :cal SetSyn("ncf")<CR>
  1073. am 50.60.290 &Syntax.Me-NO.Not\ Quite\ C :cal SetSyn("nqc")<CR>
  1074. am 50.60.300 &Syntax.Me-NO.Nroff :cal SetSyn("nroff")<CR>
  1075. am 50.60.320 &Syntax.Me-NO.Objective\ C :cal SetSyn("objc")<CR>
  1076. am 50.60.330 &Syntax.Me-NO.OCAML :cal SetSyn("ocaml")<CR>
  1077. am 50.60.340 &Syntax.Me-NO.Omnimark :cal SetSyn("omnimark")<CR>
  1078. am 50.60.350 &Syntax.Me-NO.OpenROAD :cal SetSyn("openroad")<CR>
  1079. am 50.60.360 &Syntax.Me-NO.Open\ Psion\ Lang :cal SetSyn("opl")<CR>
  1080. am 50.60.370 &Syntax.Me-NO.Oracle\ config :cal SetSyn("ora")<CR>
  1081. am 50.70.100 &Syntax.PQ.Palm\ resource\ compiler :cal SetSyn("pilrc")<CR>
  1082. am 50.70.110 &Syntax.PQ.PApp :cal SetSyn("papp")<CR>
  1083. am 50.70.120 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR>
  1084. am 50.70.130 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR>
  1085. am 50.70.140 &Syntax.PQ.PPWizard :cal SetSyn("ppwiz")<CR>
  1086. am 50.70.150 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR>
  1087. am 50.70.160 &Syntax.PQ.Perl.Perl\ POD :cal SetSyn("pod")<CR>
  1088. am 50.70.170 &Syntax.PQ.Perl.Perl\ XS :cal SetSyn("xs")<CR>
  1089. am 50.70.180 &Syntax.PQ.PHP\ 3-4 :cal SetSyn("php")<CR>
  1090. am 50.70.190 &Syntax.PQ.Phtml :cal SetSyn("phtml")<CR>
  1091. am 50.70.200 &Syntax.PQ.Pike :cal SetSyn("pike")<CR>
  1092. am 50.70.210 &Syntax.PQ.Pine\ RC :cal SetSyn("pine")<CR>
  1093. am 50.70.220 &Syntax.PQ.PL/M :cal SetSyn("plm")<CR>
  1094. am 50.70.230 &Syntax.PQ.PL/SQL :cal SetSyn("plsql")<CR>
  1095. am 50.70.240 &Syntax.PQ.PO\ (GNU\ gettext) :cal SetSyn("po")<CR>
  1096. am 50.70.250 &Syntax.PQ.Postfix\ main\ config :cal SetSyn("pfmain")<CR>
  1097. am 50.70.260 &Syntax.PQ.PostScript :cal SetSyn("postscr")<CR>
  1098. am 50.70.270 &Syntax.PQ.Povray :cal SetSyn("pov")<CR>
  1099. am 50.70.280 &Syntax.PQ.Povray\ configuration :cal SetSyn("povini")<CR>
  1100. am 50.70.290 &Syntax.PQ.Printcap :cal SetSyn("pcap")<CR>
  1101. am 50.70.300 &Syntax.PQ.Procmail :cal SetSyn("procmail")<CR>
  1102. am 50.70.310 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf")<CR>
  1103. am 50.70.320 &Syntax.PQ.Progress :cal SetSyn("progress")<CR>
  1104. am 50.70.330 &Syntax.PQ.Prolog :cal SetSyn("prolog")<CR>
  1105. am 50.70.340 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog")<CR>
  1106. am 50.70.350 &Syntax.PQ.Python :cal SetSyn("python")<CR>
  1107. am 50.80.100 &Syntax.R-Sg.R :cal SetSyn("r")<CR>
  1108. am 50.80.110 &Syntax.R-Sg.Radiance :cal SetSyn("radiance")<CR>
  1109. am 50.80.120 &Syntax.R-Sg.Ratpoison :cal SetSyn("ratpoison")<CR>
  1110. am 50.80.130 &Syntax.R-Sg.Readline\ config :cal SetSyn("readline")<CR>
  1111. am 50.80.140 &Syntax.R-Sg.RCS\ log\ output :cal SetSyn("rcslog")<CR>
  1112. am 50.80.150 &Syntax.R-Sg.Rebol :cal SetSyn("rebol")<CR>
  1113. am 50.80.160 &Syntax.R-Sg.Registry\ of\ MS-Windows :cal SetSyn("registry")<CR>
  1114. am 50.80.170 &Syntax.R-Sg.Remind :cal SetSyn("remind")<CR>
  1115. am 50.80.180 &Syntax.R-Sg.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
  1116. am 50.80.190 &Syntax.R-Sg.Rexx :cal SetSyn("rexx")<CR>
  1117. am 50.80.200 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots")<CR>
  1118. am 50.80.210 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen")<CR>
  1119. am 50.80.220 &Syntax.R-Sg.RTF :cal SetSyn("rtf")<CR>
  1120. am 50.80.230 &Syntax.R-Sg.Ruby :cal SetSyn("ruby")<CR>
  1121. am 50.80.250 &Syntax.R-Sg.S-lang :cal SetSyn("slang")<CR>
  1122. am 50.80.260 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba")<CR>
  1123. am 50.80.270 &Syntax.R-Sg.SAS :cal SetSyn("sas")<CR>
  1124. am 50.80.280 &Syntax.R-Sg.Sather :cal SetSyn("sather")<CR>
  1125. am 50.80.290 &Syntax.R-Sg.Scheme :cal SetSyn("scheme")<CR>
  1126. am 50.80.300 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen")<CR>
  1127. am 50.80.310 &Syntax.R-Sg.SDL :cal SetSyn("sdl")<CR>
  1128. am 50.80.320 &Syntax.R-Sg.Sed :cal SetSyn("sed")<CR>
  1129. am 50.80.330 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm")<CR>
  1130. am 50.80.340 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog")<CR>
  1131. am 50.80.350 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml")<CR>
  1132. am 50.80.360 &Syntax.R-Sg.SGML.SGML\ Declarations :cal SetSyn("sgmldecl")<CR>
  1133. am 50.80.370 &Syntax.R-Sg.SGML.SGML\ linuxdoc :cal SetSyn("sgmllnx")<CR>
  1134. am 50.90.100 &Syntax.Sh-S.Sh\ shell\ script :cal SetSyn("sh")<CR>
  1135. am 50.90.110 &Syntax.Sh-S.SiCAD :cal SetSyn("sicad")<CR>
  1136. am 50.90.120 &Syntax.Sh-S.Simula :cal SetSyn("simula")<CR>
  1137. am 50.90.130 &Syntax.Sh-S.Sinda.Sinda\ compare :cal SetSyn("sindacmp")<CR>
  1138. am 50.90.140 &Syntax.Sh-S.Sinda.Sinda\ input :cal SetSyn("sinda")<CR>
  1139. am 50.90.150 &Syntax.Sh-S.Sinda.Sinda\ output :cal SetSyn("sindaout")<CR>
  1140. am 50.90.160 &Syntax.Sh-S.SKILL :cal SetSyn("skill")<CR>
  1141. am 50.90.170 &Syntax.Sh-S.SLRN.SLRN\ rc :cal SetSyn("slrnrc")<CR>
  1142. am 50.90.180 &Syntax.Sh-S.SLRN.SLRN\ score :cal SetSyn("slrnsc")<CR>
  1143. am 50.90.190 &Syntax.Sh-S.SmallTalk :cal SetSyn("st")<CR>
  1144. am 50.90.200 &Syntax.Sh-S.SMIL :cal SetSyn("smil")<CR>
  1145. am 50.90.210 &Syntax.Sh-S.SMITH :cal SetSyn("smith")<CR>
  1146. am 50.90.220 &Syntax.Sh-S.SNMP\ MIB :cal SetSyn("mib")<CR>
  1147. am 50.90.230 &Syntax.Sh-S.SNNS.SNNS\ network :cal SetSyn("snnsnet")<CR>
  1148. am 50.90.240 &Syntax.Sh-S.SNNS.SNNS\ pattern :cal SetSyn("snnspat")<CR>
  1149. am 50.90.250 &Syntax.Sh-S.SNNS.SNNS\ result :cal SetSyn("snnsres")<CR>
  1150. am 50.90.260 &Syntax.Sh-S.Snobol4 :cal SetSyn("snobol4")<CR>
  1151. am 50.90.270 &Syntax.Sh-S.Snort\ Configuration :cal SetSyn("hog")<CR>
  1152. am 50.90.280 &Syntax.Sh-S.SPEC\ (Linux\ RPM) :cal SetSyn("spec")<CR>
  1153. am 50.90.290 &Syntax.Sh-S.Specman :cal SetSyn("specman")<CR>
  1154. am 50.90.300 &Syntax.Sh-S.Spice :cal SetSyn("spice")<CR>
  1155. am 50.90.310 &Syntax.Sh-S.Speedup :cal SetSyn("spup")<CR>
  1156. am 50.90.320 &Syntax.Sh-S.Squid :cal SetSyn("squid")<CR>
  1157. am 50.90.330 &Syntax.Sh-S.SQL :cal SetSyn("sql")<CR>
  1158. am 50.90.340 &Syntax.Sh-S.SQL\ Forms :cal SetSyn("sqlforms")<CR>
  1159. am 50.90.350 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR>
  1160. am 50.90.360 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR>
  1161. am 50.90.370 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR>
  1162. am 50.90.380 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR>
  1163. am 50.100.100 &Syntax.TUV.Tads :cal SetSyn("tads")<CR>
  1164. am 50.100.110 &Syntax.TUV.Tags :cal SetSyn("tags")<CR>
  1165. am 50.100.120 &Syntax.TUV.TAK.TAK\ compare :cal SetSyn("tak")<CR>
  1166. am 50.100.130 &Syntax.TUV.TAK.TAK\ input :cal SetSyn("tak")<CR>
  1167. am 50.100.140 &Syntax.TUV.TAK.TAK\ output :cal SetSyn("takout")<CR>
  1168. am 50.100.150 &Syntax.TUV.Tcl/Tk :cal SetSyn("tcl")<CR>
  1169. am 50.100.160 &Syntax.TUV.TealInfo :cal SetSyn("tli")<CR>
  1170. am 50.100.170 &Syntax.TUV.Telix\ Salt :cal SetSyn("tsalt")<CR>
  1171. am 50.100.180 &Syntax.TUV.Termcap :cal SetSyn("ptcap")<CR>
  1172. am 50.100.190 &Syntax.TUV.Terminfo :cal SetSyn("terminfo")<CR>
  1173. am 50.100.200 &Syntax.TUV.TeX :cal SetSyn("tex")<CR>
  1174. am 50.100.210 &Syntax.TUV.TeX\ configuration :cal SetSyn("texmf")<CR>
  1175. am 50.100.220 &Syntax.TUV.Texinfo :cal SetSyn("texinfo")<CR>
  1176. am 50.100.230 &Syntax.TUV.TF\ mud\ client :cal SetSyn("tf")<CR>
  1177. am 50.100.240 &Syntax.TUV.Tidy\ configuration :cal SetSyn("tidy")<CR>
  1178. am 50.100.250 &Syntax.TUV.Trasys\ input :cal SetSyn("trasys")<CR>
  1179. am 50.100.260 &Syntax.TUV.TSS.Command\ Line :cal SetSyn("tsscl")<CR>
  1180. am 50.100.270 &Syntax.TUV.TSS.Geometry :cal SetSyn("tssgm")<CR>
  1181. am 50.100.280 &Syntax.TUV.TSS.Optics :cal SetSyn("tssop")<CR>
  1182. am 50.100.300 &Syntax.TUV.UIT/UIL :cal SetSyn("uil")<CR>
  1183. am 50.100.310 &Syntax.TUV.UnrealScript :cal SetSyn("uc")<CR>
  1184. am 50.100.330 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
  1185. am 50.100.340 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
  1186. am 50.100.350 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
  1187. am 50.100.360 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
  1188. am 50.100.370 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
  1189. am 50.100.380 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
  1190. am 50.100.390 &Syntax.TUV.Virata :cal SetSyn("virata")<CR>
  1191. am 50.100.400 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
  1192. am 50.100.410 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
  1193. am 50.100.420 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
  1194. am 50.110.100 &Syntax.WXYZ.WEB :cal SetSyn("web")<CR>
  1195. am 50.110.110 &Syntax.WXYZ.Webmacro :cal SetSyn("webmacro")<CR>
  1196. am 50.110.120 &Syntax.WXYZ.Website\ MetaLanguage :cal SetSyn("wml")<CR>
  1197. am 50.110.130 &Syntax.WXYZ.Wdiff :cal SetSyn("wdiff")<CR>
  1198. am 50.110.140 &Syntax.WXYZ.Wget\ config :cal SetSyn("wget")<CR>
  1199. am 50.110.150 &Syntax.WXYZ.Whitespace\ (add) :cal SetSyn("whitespace")<CR>
  1200. am 50.110.160 &Syntax.WXYZ.WinBatch/Webbatch :cal SetSyn("winbatch")<CR>
  1201. am 50.110.170 &Syntax.WXYZ.Windows\ Scripting\ Host :cal SetSyn("wsh")<CR>
  1202. am 50.110.190 &Syntax.WXYZ.X\ Keyboard\ Extension :cal SetSyn("xkb")<CR>
  1203. am 50.110.200 &Syntax.WXYZ.X\ Pixmap :cal SetSyn("xpm")<CR>
  1204. am 50.110.210 &Syntax.WXYZ.X\ Pixmap\ (2) :cal SetSyn("xpm2")<CR>
  1205. am 50.110.220 &Syntax.WXYZ.X\ resources :cal SetSyn("xdefaults")<CR>
  1206. am 50.110.230 &Syntax.WXYZ.Xmath :cal SetSyn("xmath")<CR>
  1207. am 50.110.240 &Syntax.WXYZ.XML :cal SetSyn("xml")<CR>
  1208. am 50.110.250 &Syntax.WXYZ.XXD\ hex\ dump :cal SetSyn("xxd")<CR>
  1209. am 50.110.270 &Syntax.WXYZ.Yacc :cal SetSyn("yacc")<CR>
  1210. am 50.110.290 &Syntax.WXYZ.Zsh\ shell\ script :cal SetSyn("zsh")<CR>
  1211.  
  1212. " The End Of The Syntax Menu
  1213.  
  1214.  
  1215. am 50.195 &Syntax.-SEP1-                :
  1216.  
  1217. am 50.200 &Syntax.Set\ '&syntax'\ only        :let s:syntax_menu_synonly=1<CR>
  1218. am <silent> 50.202 &Syntax.Set\ '&filetype'\ too :call <SID>Nosynonly()<CR>
  1219. fun! s:Nosynonly()
  1220.   if exists("s:syntax_menu_synonly")
  1221.     unlet s:syntax_menu_synonly
  1222.   endif
  1223. endfun
  1224.  
  1225. am 50.210 &Syntax.&Off            :syn off<CR>
  1226. am 50.700 &Syntax.-SEP3-        :
  1227. am 50.710 &Syntax.Co&lor\ test        :sp $VIMRUNTIME/syntax/colortest.vim<Bar>so %<CR>
  1228. am 50.720 &Syntax.&Highlight\ test    :so $VIMRUNTIME/syntax/hitest.vim<CR>
  1229. am 50.730 &Syntax.&Convert\ to\ HTML    :so $VIMRUNTIME/syntax/2html.vim<CR>
  1230.  
  1231. endif " !exists("did_install_syntax_menu")
  1232.  
  1233. " Restore the previous value of 'cpoptions'.
  1234. let &cpo = s:cpo_save
  1235. unlet s:cpo_save
  1236.  
  1237. " vim: set sw=2 :
  1238.